home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.3 Development Libraries / SGI IRIX 6.3 Development Libraries.iso / dist / dist6.3 / ViewKit_dev.idb / usr / include / Vk / VkBase.h.z / VkBase.h
C/C++ Source or Header  |  1996-09-20  |  2KB  |  56 lines

  1. ////////////////////////////////////////////////////////////////////////////////
  2. ///////   Copyright 1995, Silicon Graphics, Inc.  All Rights Reserved.   ///////
  3. //                                                                            //
  4. // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;     //
  5. // the contents of this file may not be disclosed to third parties, copied    //
  6. // or duplicated in any form, in whole or in part, without the prior written  //
  7. // permission of Silicon Graphics, Inc.                                       //
  8. //                                                                            //
  9. // RESTRICTED RIGHTS LEGEND:                                                  //
  10. // Use,duplication or disclosure by the Government is subject to restrictions //
  11. // as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data     //
  12. // and Computer Software clause at DFARS 252.227-7013, and/or in similar or   //
  13. // successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -    //
  14. // rights reserved under the Copyright Laws of the United States.             //
  15. //                                                                            //
  16. ////////////////////////////////////////////////////////////////////////////////
  17.  
  18.  
  19. #ifndef VKBASE_H
  20. #define VKBASE_H
  21.  
  22. // VkBase is an abstract class.
  23. //
  24. // The purpose is so that all ViewKit classes have a standard opaque
  25. // pointer that can be used to extend the class without breaking binary
  26. // compatibility.
  27. //
  28. //    * The first time we can break binary compatibility, all ViewKit
  29. //      classes will be descendants of it.
  30. //
  31. //    * In the meantime, all new ViewKit classes are subclassed from it.
  32. //
  33. //
  34. // This pointer is for use only by classes that come with the ViewKit product.
  35. // Unfortunately we cannot make it available to derived classes, because
  36. // then it, too, would become a binary compatibility item.  Derived
  37. // libraries may wish to employ a similar strategy themselves.
  38. //
  39. // The constructor is included in the class so that it will get inlined in the
  40. // constructor of each class that directly inherits from VkBase.  Thus, there
  41. // is no run-time penalty, such as there would be if a function call to the
  42. // constructor were required.
  43.  
  44. class VkBase {
  45.  
  46.   protected:
  47.     void *__extension_record;
  48.  
  49.     VkBase() {__extension_record = 0;};
  50.     ~VkBase() {};
  51.  
  52. };
  53.  
  54. #endif /* VKBASE_H */
  55.  
  56.